package com.qingzhou.web.repository.entity;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.handler.Fastjson2TypeHandler;
import com.qingzhou.common.web.domain.BaseEntity;
import com.qingzhou.web.service.impl.convert.DictParent;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * 影像学检验 对象
 * 第一版
 * @author xm
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(value = "edc_imaging")
public class ImagingOldEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @Id
    private Long id;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "患者编号")
    private String patientCode;

    @ApiModelProperty(value = "影像号")
    private String imgNum;

    @ApiModelProperty(value = "检查日期")
    @DateTimeFormat("yyyy年MM月dd日")
    private Date testDate;

    @ApiModelProperty(value = "检查时间", notes = "字典 test_time_dict")
    @DictParent("test_time_dict")
    private String testTime;

    @ApiModelProperty(value = "方式", notes = "字典 img_test_type_dict")
    @DictParent("img_test_type_dict")
    private String testType;
    @ApiModelProperty(value = "方式选其他时的明细")
    private String testTypeOther;

    @ApiModelProperty(value = "正常/异常", notes = "字典 sys_normal_abnormal")
    @DictParent("sys_normal_abnormal")
    private String testResult;

    @ApiModelProperty(value = "影像报告描述")
    private String reportDescribe;

    @ApiModelProperty(value = "结论")
    private String conclusion;

    @ApiModelProperty(value = "影像疗效评估")
    private String assess;

    @ApiModelProperty("数据检查原因")
    private String editReason;

    @ApiModelProperty("终止原因")
    private String stopReason;

    // 胸部影像学报告
    @ApiModelProperty("胸部影像学")
    @Column(typeHandler = Fastjson2TypeHandler.class)
    List<ImgChestTestInfo> imgChestTestInfoList;

    // 其他部位影像学报告
    @ApiModelProperty(value = "其他病灶位置")
    private String otherLocation;
    @ApiModelProperty(value = "影像学倾向")
    private String imagingTendency;

}
